home *** CD-ROM | disk | FTP | other *** search
/ Network CD 2 / Network CD - Volume 2.iso / programs / internet / tcp / amitcp / amitcp-api-22.lha / AmiTCP-2.2 / src / netlib / sana2printfault.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-08-12  |  1.2 KB  |  50 lines

  1. RCS_ID_C="$Id: sana2printfault.c,v 1.2 1993/06/03 23:27:19 ppessi Exp $";
  2. /*
  3.  * sana2printfault.c --- print SANA-II error message
  4.  *
  5.  * Author: ppessi <Pekka.Pessi@hut.fi>
  6.  *
  7.  * Copyright © 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
  8.  *                  Helsinki University of Technology, Finland.
  9.  *                  All rights reserved.
  10.  *
  11.  * Created      : Sat Mar 20 02:10:14 1993 ppessi
  12.  * Last modified: Fri Jun  4 02:20:34 1993 ppessi
  13.  */
  14.  
  15. #include <devices/sana2.h>
  16. #include <net/sana2errno.h>
  17. #ifdef __SASC 
  18. #include <proto/dos.h>
  19. #else
  20. #include <clib/dos_protos.h>
  21. #endif
  22.  
  23. void 
  24. Sana2PrintFault(const char *banner, struct IOSana2Req *ios2)
  25. {
  26.   register WORD err = ios2->ios2_Req.io_Error;
  27.   register ULONG werr = ios2->ios2_WireError;
  28.   LONG args[3];
  29.   char * format;
  30.  
  31.   args[0] = (LONG)banner; 
  32.  
  33.   if (err >= sana2io_nerr || -err > io_nerr) {
  34.     args[1] = (LONG)io_errlist[0];
  35.   } else { 
  36.     if (err < 0) 
  37.       args[1] = (LONG)io_errlist[-err];
  38.     else 
  39.       args[1] = (LONG)sana2io_errlist[err];
  40.   }
  41.   if (werr == 0 || werr >= sana2wire_nerr) {
  42.     format = "%s: %s\n";
  43.   } else {
  44.     format = "%s: %s (%s)\n";
  45.     args[2] = (LONG)sana2wire_errlist[werr];
  46.   }
  47.  
  48.   VPrintf(format, args);
  49. }
  50.